using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using QLNhaSach.BUS;
using QLNhaSach.BUS.DTO;
using QLNhaSach.DAO;

namespace QLNhaSach.BUS
{
    public enum NhanVienQuanLyBUSResult
    {
        OK,
        DAOERROR
    }

    public class NhanVienQuanLyBUS
    {
        //Lay DS Khach Hang
        public static DataTable DSKH()
        {
            return NhanVienQuanLyDAO.DSKH();
        }

        //Hien Thi DS Nhan Vien
        public static DataTable DSNV()
        {
            return NhanVienQuanLyDAO.DSNV();
        }

        //Hien Thi DS Quy Dinh
        public static DataTable DSQD()
        {
            return NhanVienQuanLyDAO.DSQD();
        }

        //Hien Thi DS Hoa Don
        public static DataTable DSHD()
        {
            return NhanVienQuanLyDAO.DanhSachHD();
        }

        //Tim Kiem HD theo yeu cau
        //public static DataTable HDTheoYauCau()
        //{
        //}

        //Hien thi chi tiet hoa don cua 1 hoa don
        public static DataTable HienThiCTHD(HoaDonDTO hd)
        {
            return NhanVienQuanLyDAO.HienThiCTHD(hd);
        }

        //Hien thi DS tat ca cac hoa don cua 1 khach hang
        public static DataTable HDMotKH(KhachHangDTO kh)
        {
            return NhanVienQuanLyDAO.HDMotKH(kh);
        }

        //Tao Mot Quy Dinh Moi
        public static NhanVienQuanLyBUSResult TaoQD(QuyDinhDTO qd)
        {
            if (!NhanVienQuanLyDAO.TaoQD(qd))
                return NhanVienQuanLyBUSResult.DAOERROR;
            return NhanVienQuanLyBUSResult.OK;
        }

        //Cap Nhat Mot Quy Dinh
        public static NhanVienQuanLyBUSResult CapNhatQD(QuyDinhDTO qd)
        {
            if (!NhanVienQuanLyDAO.CapNhatQD(qd))
                return NhanVienQuanLyBUSResult.DAOERROR;
            return NhanVienQuanLyBUSResult.OK;
        }

        // Them Moi 1 Khach Hang
        public static NhanVienQuanLySachBUSResult ThemKH(KhachHangDTO kh)
        {
            if (!NhanVienQuanLyDAO.ThemKhachHang(kh))
                return NhanVienQuanLySachBUSResult.DAOERROR;
            return NhanVienQuanLySachBUSResult.OK;
        }

        //Cap Nhat 1 Khach hang
        public static NhanVienQuanLySachBUSResult CapNhatKH(KhachHangDTO kh)
        {
            if (!NhanVienQuanLyDAO.CapNhatTTKH(kh))
                return NhanVienQuanLySachBUSResult.DAOERROR;
            return NhanVienQuanLySachBUSResult.OK;
        }
    }
}
